package shopping;

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int ret = 0;

        //定义商品信息变量
        String[] drinks = {"可乐", "雪碧", "冰红茶"};
        double[] priceOfDrinks = {5.0, 5.0, 3.0};
        String[] fruits = {"苹果", "香蕉", "鸭梨"};
        double[] priceOfFruits = {7.0, 6.0, 8.0};
        String[] vegetables = {"青菜", "萝卜", "土豆"};
        double[] priceOfVegetables = {3.3, 5.1, 4.3};
        String[] meats = {"牛肉", "羊肉", "猪肉"};
        double[] priceOfMeats = {20.4, 50.3, 25.4};
        String[] variety = {"饮品", "水果", "蔬菜", "肉类"};

        //创建银行系统对象
        ShoppingSystem sp = new ShoppingSystem();

        //预设商品信息
        sp.setVariety(variety);
        sp.setDrinks(drinks,priceOfDrinks);
        sp.setFruits(fruits,priceOfFruits);
        sp.setVegetables(vegetables,priceOfVegetables);
        sp.setMeats(meats,priceOfMeats);
        sp.setOthers();


        //输出欢迎语句
        System.out.println("欢迎来到KZ的超市！");
        System.out.println("你可以自由挑选不同种类的商品并将其添加到购物车里，" +
                "最后我们会统一结算你购物车里的商品，购物愉快！");

        //输出已有商品分类
        System.out.println("目前我们有如下商品种类");
        for (int i = 0; i < sp.variety.length; i++) {
            if (sp.variety[i] != null) {
                System.out.print(sp.variety[i] + " ");
            }
        }
        System.out.println();

        //选择是否自行添加商品
        System.out.println("请选择是否要自行添加商品，输入“是”以添加，输入“否”将进入选购界面");
        System.out.print("请输入: ");
        Scanner adding = new Scanner(System.in);
        String add = adding.nextLine();
        //开始自行添加商品
        while (add.equals("是")) {
            //调用添加商品方法
            sp.addGoods();
            //一次添加结束
            System.out.println("您已添加成功！请选择是否要添加其他类别的商品");
            //选择是否继续添加
            System.out.println("输入“是”以回到类别选择界面，输入“否”以进入选购界面");
            System.out.print("请输入: ");
            Scanner chooseNext = new Scanner(System.in);
            String chooseToNext = chooseNext.nextLine();
            //自行添加商品结束
            if (chooseToNext.equals("否")) {
                System.out.println("您已成功添加商品，请再次查看已有商品类别");
                break;
            }
        }
        //查看已有商品类别并选择
        while (true) {
            //调用类别选择方法
            ret = sp.chooseKinds();
            //输入错误，提示重新输入
            if (ret == 1) {
                System.out.println("输入错误，请重新输入！");
            }
            //查看结束，结束循环
            else {
                break;
            }
        }

        //选择类别后进行选购
        while (true) {
            //调用添加购物车方法
            sp.addCart(ret);

            //一次添加结束，选择是否继续添加
            System.out.println("您已成功选购该类商品，请选择是否要继续选购其他种类的商品");
            System.out.println("输入“是”以返回选购界面，输入“否”以继续");
            Scanner chooseOthKind = new Scanner(System.in);
            System.out.print("请输入: ");
            String chooseOthKinds = chooseOthKind.nextLine();
            //不继续添加，进行下一步
            if(chooseOthKinds.equals("否")){
                break;
            }
            //继续添加商品，返回类别选择方法
            else{
                ret=sp.chooseKinds();
            }
        }

        //再次查看购物车信息
        sp.checkCart();

        //选择是否删除购物车商品
        System.out.println("如需删除部分商品，请输入“删除”；如核对正确请输入任意内容以继续");
        System.out.print("请输入: ");
        Scanner remove = new Scanner(System.in);
        String remCart = remove.nextLine();
        //选择删除购物车
        if (remCart.equals("删除")) {
            //调用删除购物车方法
            sp.removeCart();
            //再次查看购物车信息
            sp.checkCart();
            //查看完毕，输出结束信息，进行下一步
            System.out.println("您已完成选购，接下来系统将自动为您结算总价");
        } else {
            //选择不删除，进行下一步
            System.out.println("您已完成选购，接下来系统将自动为您结算总价");
        }

        //进行结算
        sp.calculate();

        //输出结束信息
        System.out.println("感谢您使用本程序！");
    }
}




